<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//Ultima verificacion: 08-03-2015
class calificacionEvaluacion extends CI_Controller {
	//Metodo constructor de la clase
	function __construct(){
		parent::__construct();
	}
	
	//Este metodo no se puede llamar con ajax
	//Muestra una tabla con todos los alumnos de una division (que deben hacer o hicieron una evaluacion) para poder cargar el resultado a cada alumno.
	function consultar($idCicloLectivo=null, $idAsignatura=null, $idEvaluacion=null){
		//Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDocente') == '1')){
			//Segunda comprobacion: Que idCicloLectivo pasado sea numerico y mayor o igual que cero. Ademas que idAsignatura e idEvaluacion sea mayor o igual que cero.
			if(is_numeric($idCicloLectivo) && $idCicloLectivo>=0 && is_numeric($idAsignatura) && $idAsignatura>=0 && is_numeric($idEvaluacion) && $idEvaluacion>=0){
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo para corroborar que exista
				$cicloLectivo = $this->m_ciclo_lectivo->get($idCicloLectivo);
				
				//Cargo el modelo donde estan los datos de las asignaturas
				$this->load->model('m_asignatura');
				
				//Busco a la asignatura para corrobar que exista
				$asignatura = $this->m_asignatura->get($idAsignatura);
				
				//Cargo el modelo donde estan los datos de las evaluaciones
				$this->load->model('m_evaluacion');
				
				//Busco a la evaluacion para comprobar que existe
				$evaluacion = $this->m_evaluacion->get($idEvaluacion);
				
				//Cargo el modelo donde estan los datos de las asignaturas dictadas por los docentes
				$this->load->model('m_asignacion_docente');
				
				//Armo la restriccion para buscar si la persona logueada dicta esta asignatura y si la evaluacion pertenece a las tomadas por el.
				$restriccion2 = "";
				if($idEvaluacion>0 && $evaluacion->num_rows() == 1){
					$restriccion2 = " AND asignatura.idAsignatura=".$evaluacion->row()->idAsignatura;
				}
				
				$restriccion = $restriccion2 . " AND asignatura.idAsignatura=".$idAsignatura." AND persona.idPersona=".$this->session->userdata('idPersonaLog');
				
				//Busco si el docente dicta la asignatura pasada por la url
				$asignacion = $this->m_asignacion_docente->buscarActivos($restriccion);
				
				//Tercera comprobacion: Que el idCicloLectivo pasado por la url sea existente o igual a cero. Lo mismo para la asignatura y la evaluacion. Que la asignatura sea dictada por el docente logueado.
				if(($cicloLectivo->num_rows() == 1 || $idCicloLectivo==0) && ($asignatura->num_rows() == 1 || $idAsignatura==0)  && ($asignacion->num_rows() == 1 || $idAsignatura==0) && ($evaluacion->num_rows() == 1 || $idEvaluacion==0)){
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Busco todos los ciclos lectivos
					$listadoCiclosLectivos = $this->m_ciclo_lectivo->buscar();
					
					//Le paso el listado de todos los ciclos lectivos a la vista para que los muestre en un combo de filtrado
					$datos['ciclosLectivos'] = $listadoCiclosLectivos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Si el ciclo lectivo pasado por la url es igual a cero entonces hay que seleccionar el ciclo vigente, en caso contrario el que haya sido pasado
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							//Le paso a la vista el id del ciclo lectivo vigente
							$datos['idCicloLectivoSel'] = $cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							//No hay ciclo lectivo seleccionado ni vigente
							$datos['idCicloLectivoSel'] = 0;
						}
					}else{
						//Le paso a la vista el id del ciclo lectivo pasado por la url
						$datos['idCicloLectivoSel'] = $idCicloLectivo;
					}
					
					//Le paso a la vista el id de la asignatura
					$datos['idAsignaturaSel'] = $idAsignatura;
					
					//Le paso a la vista el id de la evaluacion
					$datos['idEvaluacionSel'] = $idEvaluacion;
					
					//Le paso a la vista la evaluacion
					$datos['evaluacionSel'] = $evaluacion;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a las asignaturas dictadas por el profesor logueado.
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccion1 = "";
					if($idCicloLectivo==0){
						//Busco el ciclo lectivo vigente
						$cicloLectivoVigente = $this->m_ciclo_lectivo->getVigente();
						
						if($cicloLectivoVigente->num_rows() == 1){
							$restriccion1 = " AND curso.idCicloLectivo=".$cicloLectivoVigente->row()->idCicloLectivo;
						}else{
							$restriccion1 = " AND curso.idCicloLectivo=0";
						}
					}else{
						$restriccion1 = " AND curso.idCicloLectivo=".$idCicloLectivo;					
					}
					
					//Restriccion de la persona logueada. En este caso un docente.
					$restriccion1 .= " AND persona.idPersona=".$this->session->userdata('idPersonaLog');
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de las asignaciones (asignaturas dictadas) registradas para pedirle un listado con todas ellas
					$this->load->model('m_asignacion_docente');
					
					//Busco todas las asignaturas segun las restricciones
					$listadoAsignaciones = $this->m_asignacion_docente->buscarActivos($restriccion1);
					
					//Le paso el listado de todas las asignaciones a la vista para que las muestre en un combo de filtrado
					$datos['asignaciones'] = $listadoAsignaciones;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Restricciones a la consulta de la busqueda de evaluaciones segun la asignatura seleccionada
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					$restriccion2 = "";
					
					//Restriccion segun la asignatura seleccionada
					$restriccion2 = " AND evaluacion.idAsignatura=".$idAsignatura;
					
					//Cargo el modelo donde estan los datos de las evaluaciones registradas para pedirle un listado con todas ellas segun las restricciones
					$this->load->model('m_evaluacion');
					
					//Busco todas las evaluaciones segun las restricciones correspondientes, tanto activas como inactivas, menos las borradas(-1)
					$listadoEvaluaciones = $this->m_evaluacion->buscar($restriccion2);
					
					//Le paso el listado de todas las evaluaciones a la vista para que las muestre en una tabla
					$datos['evaluaciones'] = $listadoEvaluaciones;
					///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					
					//Tenemos que buscar todos los alumnos de la division, pero hay que asegurarse que exista una asignatura seleccionada.
					if($idAsignatura>0)
						$idDivision = $asignatura->row()->idDivision;
					else
						$idDivision = 0;
					
					//Restriccion a los alumnos que hicieron la evaluacion.
					$restriccion3 = " AND alumnoxdivision.idDivision=".$idDivision;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
					//Cargo el modelo donde estan los datos de los alumnos x division registrados para pedirle un listado con todas ellas
					$this->load->model('m_alumnoxdivision');
					
					//Busco todos los alumnos de la division pasada por la url activos
					$listadoAlumnos = $this->m_alumnoxdivision->buscar($restriccion3);
					
					//Le paso el listado de todos los alumnos a la vista para que los muestre en la tabla
					$datos['alumnos'] = $listadoAlumnos;
					
					////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////					
					//Cargo el modelo donde estan los datos de los calificaciones registradas para utilizar sus funciones en la vista
					$this->load->model('m_calificacion_evaluacion');
					
					//Cargo la vista donde se muestra la tabla de resultado y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_calificacion_evaluacion', $datos, true);
					
					//Cargo la vista principal con los datos de la vista recien generada
					$this->load->view('v_sistema', $datosPrincipal);
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para consultar los registros.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Este metodo realmente modifica los datos de las calificaciones de las evaluaciones. Si ya esta creada hay que modificarla. Caso contrario, hay que crearla.
	function evaluar($idAsignatura=null, $idEvaluacion=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDocente') == '1')){
			//Segunda comprobacion: Que se haya pasado por url la asignatura y evaluacion de los resultados de la evaluacion a crear o modificar. 
			//Ademas que se haya pasado por post los resultados de cada alumno en la evaluacion (calificacion obtenida)
			if(is_numeric($idAsignatura) && $idAsignatura>0 && is_numeric($idEvaluacion) && $idEvaluacion>0){								
				//Cargo el modelo donde estan los datos de las asignaturas
				$this->load->model('m_asignatura');
				
				//Busco a la asignatura para corrobar que exista
				$asignatura = $this->m_asignatura->get($idAsignatura);
				
				//Cargo el modelo donde estan los datos de las evaluaciones
				$this->load->model('m_evaluacion');
				
				//Busco a la evaluacion para comprobar que existe
				$evaluacion = $this->m_evaluacion->get($idEvaluacion);
				
				//Cargo el modelo donde estan los datos de las asignaturas dictadas por los docentes
				$this->load->model('m_asignacion_docente');
				
				//Armo la restriccion para buscar si la persona logueada dicta esta asignatura y evaluacion
				$restriccion2 = "";
				if($evaluacion->num_rows() == 1){
					$restriccion2 = " AND asignatura.idAsignatura=".$evaluacion->row()->idAsignatura;
				}
				
				$restriccion = $restriccion2 . " AND asignatura.idAsignatura=".$idAsignatura." AND persona.idPersona=".$this->session->userdata('idPersonaLog');
				
				//Busco si el docente dicta la asignatura pasada por la url
				$asignacion = $this->m_asignacion_docente->buscarActivos($restriccion);
				
				//Tercera comprobacion: Que la asignatura pasada por la url sea existente. Lo mismo para la evaluacion. Que la asignatura sea dictada por el docente logueado.
				if($asignatura->num_rows() == 1 && $evaluacion->num_rows() == 1 && $asignacion->num_rows() == 1){
					//Buscamos todos los alumnos de la division donde se tomo la evaluacion
					$restriccion = " AND alumnoxdivision.idDivision=".$asignatura->row()->idDivision;
					
					//Cargo el modelo donde estan los datos de los alumnos x division registrados para pedirle un listado con todas ellas
					$this->load->model('m_alumnoxdivision');
					
					//Busco todos los alumnos de la division pasada por la url activos
					$listadoAlumnos = $this->m_alumnoxdivision->buscar($restriccion);
					
					//Cargo el modelo donde estan los datos de los resultados de las evaluaciones
					$this->load->model('m_calificacion_evaluacion');
					
					//Cargo el modelo donde estan los datos del timeline para cargar la novedad.
					$this->load->model('m_timeline');
					
					//Si el resultado al final es mayor que cero es porque algo se modifico
					$resultado = 0;
					
					//Recorremos el listado de alumnos para obtener la calificacion
					foreach ($listadoAlumnos->result() as $alumno){
						//Busco en la base de datos si ya se creo un registro para el alumno de la division en la evaluacion
						$detalle = $this->m_calificacion_evaluacion->get2($alumno->idAxD, $idEvaluacion);
						
						//Ya esta creado el detalle: la actualizo en la base de datos
						if($detalle->num_rows() == 1){
							$resultado += $this->m_calificacion_evaluacion->modificar($detalle->row()->idCxE, $this->input->post('axdc_'.$alumno->idAxD,true), $detalle->row()->descripcion);
						
							//Creamos el registro de la novedad. TipoOperacion, idTablaOrigen, idRegistroOrigen, idTablaDestino, idRegistroDestino, fechaPasada, fechaFutura, estado
							$this->m_timeline->crear(2, 4, $detalle->row()->idCxE, 21, $alumno->idAlumno, date("Y-m-d H:i:s"),null, 1);
						//No esta creado el detalle: la guardo en la base de datos
						} else {
							$resultado += $this->m_calificacion_evaluacion->crear($idEvaluacion, $alumno->idAxD, $this->input->post('axdc_'.$alumno->idAxD,true), null, 1,  $this->session->userdata('idUsuarioLog'));							
						
							//Ultimo detalle de asistencia creada
							$ultimaCalificacionCreada = $this->db->insert_id();
							
							if($ultimaCalificacionCreada>0){
								//Creamos el registro de la novedad. TipoOperacion, idTablaOrigen, idRegistroOrigen, idTablaDestino, idRegistroDestino, fechaPasada, fechaFutura, estado
								$this->m_timeline->crear(1, 4, $ultimaCalificacionCreada, 21, $alumno->idAlumno, date("Y-m-d H:i:s"),null, 1);
							}
						}
					}
								
					if($resultado >= 1){
						echo("<script> alert('La evaluaci\u00f3n se ha modificado correctamente.');</script>");
						//Esto se utiliza para que al cargar las notas aparezca el icono para modificarla.
						echo("<script> window.parent.actualizarCalificaciones();</script>");
					}else{
						echo("<script> alert('La evaluaci\u00f3n no se ha modificado. Ha habido un error o los datos permanecieron iguales.');</script>");
					}
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para modificar un registro.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();			
		}
	}
	
	//Esto metodo no se puede llamar con ajax
	//Este metodo abre la pantalla con los datos del resultado de una evaluacion para un alumno en particular pasado por la url.
	//El segundo, tercer y cuarto parametro solo se utilizan para volver a la pantalla consultar con el mismo criterio de filtrado o bien para avanzar o retroceder al siguiente registro.
	function abrirPantallaModificar($idCxE=null, $idCicloLectivo=null, $idAsignatura=null, $idEvaluacion=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDocente') == '1')){
			//Segunda comprobacion: Que idCxE pasado sea numerico y mayor que cero. Ademas que idCicloLectivo pasado sea numerico y mayor que cero. Lo mismo para idAsignatura e idEvaluacion.
			if(is_numeric($idCxE) && $idCxE>0 && is_numeric($idCicloLectivo) && $idCicloLectivo>0 && is_numeric($idAsignatura) && $idAsignatura>0 && is_numeric($idEvaluacion) && $idEvaluacion>0){
				//Cargo el modelo donde estan los datos de lo resultados de las evaluaciones
				$this->load->model('m_calificacion_evaluacion');
				
				//Busco al resultado para comprobar que existe
				$calificacion = $this->m_calificacion_evaluacion->get($idCxE);				
				
				//Cargo el modelo donde estan los datos de los ciclos lectivos
				$this->load->model('m_ciclo_lectivo');
				
				//Busco al ciclo lectivo para comprobar que existe
				$cicloLectivo = $this->m_ciclo_lectivo->get($idCicloLectivo);
				
				//Cargo el modelo donde estan los datos de las asignaturas
				$this->load->model('m_asignatura');
				
				//Busco a la asignatura para comprobar que existe
				$asignatura = $this->m_asignatura->get($idAsignatura);
				
				//Cargo el modelo donde estan los datos de las evaluaciones registradas
				$this->load->model('m_evaluacion');
				
				//Busco a la evaluacion para comprobar que existe
				$evaluacion = $this->m_evaluacion->get($idEvaluacion);
				
				//Cargo el modelo donde estan los datos de las asignaturas dictadas por los docentes
				$this->load->model('m_asignacion_docente');
				
				//Armo la restriccion para buscar si la persona logueada dicta esta asignatura, evaluacion y calificacion de la evaluacion.
				$restriccion2 = "";
				if($evaluacion->num_rows() == 1){
					$restriccion2 = " AND asignatura.idAsignatura=".$evaluacion->row()->idAsignatura;
				}
				
				if($calificacion->num_rows() == 1){
					$restriccion2 .= " AND asignatura.idAsignatura=".$calificacion->row()->idAsignatura;
				}
				
				$restriccion = $restriccion2 . " AND asignatura.idAsignatura=".$idAsignatura." AND persona.idPersona=".$this->session->userdata('idPersonaLog');
				
				//Busco si el docente dicta la asignatura pasada por la url
				$asignacion = $this->m_asignacion_docente->buscarActivos($restriccion);
				
				//Tercera comprobacion: Que la calificacion sea existente. Ademas que el ciclo lectivo, asignatura y evaluacion sean existenets. Ademas que la asignatura sea dictada por el docente logueado.
				if($calificacion->num_rows() == 1 && $cicloLectivo->num_rows() == 1 && $asignatura->num_rows() == 1 && $evaluacion->num_rows() == 1 && $asignacion->num_rows() == 1){
					//Le paso la calificacion y evaluacion a modificar a la vista
					$datos['calificacionSel'] = $calificacion;
					$datos['evaluacionSel'] = $evaluacion;
					
					//Le paso el ciclo lectivo, asignatura y evaluacion que estaban seleccionados en la pantalla consultar					
					$datos['idCicloLectivoSel'] = $idCicloLectivo;
					$datos['idAsignaturaSel'] = $idAsignatura;
					$datos['idEvaluacionSel'] = $idEvaluacion;
					
					//Busco a la calificacion siguiente de la que hay que modificar
					$idCalificacionSig = $this->m_calificacion_evaluacion->getContiguo($idCxE,1, $idEvaluacion);
					
					//Le paso la evaluacion siguiente de la que hay que modificar a la vista
					$datos['idCalificacionSig'] = $idCalificacionSig;
					
					//Busco la evaluacion anterior de la que hay que modificar
					$idCalificacionAnt = $this->m_calificacion_evaluacion->getContiguo($idCxE,-1, $idEvaluacion);
					
					//Le paso la evaluacion anterior de la que hay que modificar a la vista
					$datos['idCalificacionAnt'] = $idCalificacionAnt;
					
					//Cargo la vista donde se muestra el formulario para modificar una evaluacion y la guardo en una variable para pasarsela a la vista principal
					$datosPrincipal['vista'] = $this->load->view('v_calificacion_evaluacion_modificar',$datos, true);
					
					//Cargo la vista principal con los datos de la vista para modificar un registro
					$this->load->view('v_sistema', $datosPrincipal);
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para modificar un registro.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();
			//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
			redirect(site_url("inicio"));
		}
	}
	
	//Este metodo no se puede llamar con ajax
	//Este metodo realmente modifica los datos de un resultado de la evaluacion
	function modificar($idCxE=null){
	    //Primera comprobacion: Que el usuario tenga iniciada la sesion y que tenga permiso para realizar esta accion.
		if($this->session->userdata('sesionIniciada') == 'Si' && ($this->session->userdata('permisoDocente') == '1')){	   
			//Segunda comprobacion: Que se haya pasado por la url el id de la calificacion de la evaluacion a modificar.
			//Ademas que se haya pasado por post la calificacion del resultado de la evaluacion a modificar.
			if(is_numeric($idCxE) && $idCxE>0 && $this->input->post('calificacion',true)!=""){
				//Cargo el modelo donde estan los datos de los resultados de las evaluaciones
				$this->load->model('m_calificacion_evaluacion');
				
				//Busco al resultado de la evaluacion que hay que modificar para comprobar que existe
				$calificacion = $this->m_calificacion_evaluacion->get($idCxE);
				
				//Cargo el modelo donde estan los datos de las asignaturas dictadas por los docentes
				$this->load->model('m_asignacion_docente');
				
				//Armo la restriccion para buscar si la persona logueada dicta esta asignatura y evaluacion.
				$restriccion2 = "";
								
				if($calificacion->num_rows() == 1){
					$restriccion2 .= " AND asignatura.idAsignatura=".$calificacion->row()->idAsignatura;
				}
				
				$restriccion2 .= " AND persona.idPersona=".$this->session->userdata('idPersonaLog');
				
				//Busco si el docente dicta la asignatura de la evaluacion
				$asignacion = $this->m_asignacion_docente->buscarActivos($restriccion2);
				
				//Tercera comprobacion: Que la calificacion de la evaluacion pasada por la url sea existente.
				if($calificacion->num_rows() == 1 && $asignacion->num_rows() == 1){
					//Modificamos el resultado de la evaluacion
					$resultado += $this->m_calificacion_evaluacion->modificar($idCxE, 
																			  $this->input->post('calificacion',true),																
																			  $this->input->post('descripcion',true));
										
					if($resultado == 1){
						echo("<script> alert('El resultado de: ".$this->input->post('axd',true)." se ha modificado correctamente.');</script>");
					}else{
						echo("<script> alert('El resultado de: ".$this->input->post('axd',true)." no se ha modificado. Ha habido un error o los datos permanecieron iguales.');</script>");
					}
				} else {
					//El o los registros no existen.
					//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
					$this->session->sess_destroy();
					//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
					redirect(site_url("inicio"));
				}
			} else {
				//Los parametros pasados no son validos para modificar un registro.
				//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
				$this->session->sess_destroy();
				//Lo redirigimos al login ya que como no se llamo con ajax se puede redirigir.
				redirect(site_url("inicio"));
			}
		} else {
			//El usuario no tiene permiso para realizar esta accion.
			//Destruimos la sesion ya que si llego hasta aca lo hizo mediante alguna tecnica no apropiada y no utilizando la interfaz del sistema.
			$this->session->sess_destroy();			
		}
	}
}